// 用来封装所有与用户操作相关的业务

import ajax from '../utils/request'

/**
 * 用户登录
 * @param {*} mobile 手机号
 * @param {*} code 密码
 * @returns
 */
export const login = (mobile, code) => {
  return ajax({
    url: '/app/v1_0/authorizations',
    method: 'POST',
    data: { mobile, code }
  })
}

/**
 * 获取用户个人资料
 * @returns
 */
export const getProfile = () => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/user/profile'
  })
}

/**
 * 加关注
 * @param {*} userId
 * @returns
 */
export const followed = (userId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/user/followings',
    data: {
      target: userId
    }
  })
}
/**
 * 取消关注
 * @param {*} userId
 * @returns
 */
export const unFollowed = (userId) => {
  return ajax({
    method: 'DELETE',
    url: '/app/v1_0/user/followings/' + userId
  })
}

/**
 * 获取用户信息
 * @returns
 */
export const getInfo = () => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/user'
  })
}

/**
 * 编辑用户信息
 * @param {*} data
 * data: {
 *  name, // 姓名
 *  gender, // 性别
 *  birthday , // 生日
 * }
 * @returns
 */
export const updateUserInfo = (data) => {
  return ajax({
    method: 'PATCH',
    url: '/app/v1_0/user/profile',
    data
  })
}

/**
 * 更新用户头像
 * @param {*} fd 由于要上传是文件，所以这里参数必须是一个formData对象
 * fd：{
 *  photo: 文件
 * }
 * @returns
 */

export const updateUserPhoto = (fd) => {
  return ajax({
    url: '/app/v1_0/user/photo',
    method: 'PATCH',
    data: fd
  })
}
